﻿using System;
using System.Data;
using System.Configuration;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;

using System.Collections.Generic;
using MySql.Data.MySqlClient;
using MySql.Data.Types;
using System.Data.Sql;
using System.Data.SqlClient;

namespace GCon
{

    /// <summary>
    /// Clase contenedora de Estados_Grupo    
    /// </summary>
    public class Con_Estados_Grupo
    {
        /// <summary>
        ///  Constructor por defecto
        /// </summary>
        public Con_Estados_Grupo()
        {
            dEstados_Grupo = new Dictionary<string, Con_Estado_Grupo>();
        }

        /// <summary>
        ///  Procedimiento que obtiene todos los estados de la BBDD
        /// </summary>
        public void ListaEstados()
        {
            MySqlConnection oConexion;
            MySqlDataAdapter oAdaptador;
            DataSet ds;
            String llamada;
            Con_Estado_Grupo oEstadoGrupo;

            oConexion = new MySqlConnection();
            oConexion.ConnectionString = "Server=localhost;Database=MERYLAND;Uid=root;Pwd=MERYLAND;";
            oConexion.Open();

            llamada = "CALL ListaEstadosGrupo()";
            oAdaptador = new MySqlDataAdapter(llamada, oConexion);
            ds = new DataSet();
            oAdaptador.Fill(ds, "Tabla");

            foreach (DataRow dr in ds.Tables[0].Rows)
            {

                oEstadoGrupo = new Con_Estado_Grupo(dr["ESTADO_GRUPO_ID_PK"].ToString(), dr["ESTADO_GRUPO_NOMBRE"].ToString(), dr["ESTADO_GRUPO_DESCRIPCION"].ToString());
                dEstados_Grupo.Add(oEstadoGrupo.Get_ID_PK(), oEstadoGrupo);
                oEstadoGrupo = null;

            }

            oConexion.Close();
        }

        public Con_Estado_Grupo GetEstadoGrupo(String Id)
        {
            return this.dEstados_Grupo[Id];
        }

        public int cuenta()
        {
            return this.dEstados_Grupo.Count;
        }

        ///Atributos
        private Dictionary<String, Con_Estado_Grupo> dEstados_Grupo;

    }
}